マップチップとの当たり判定のプログラムでは、プレイヤーが斜め移動しているときに壁にひっかかると、まったく動けなくなります。図のように、壁づたいに移動させたい場合は次のようにします
当たり判定を大きくするも参照してください。
Player(一部)
//マップチップとの当たり判定
if(hitToChip(x,y) ){
if (!hitToChip(sx,y)) {
//x座標を元に戻したらぶつかっていない→x座標だけ元に戻す
x=sx;
} else if (!hitToChip(x,sy)) {
//y座標を元に戻したらぶつかっていない→y座標だけ元に戻す
y=sy;
} else {
//片方だけ戻してもやっぱりぶつかっている→両方元に戻す
x=sx;y=sy;
}
}
.